#ifndef CONTEXT_TRACK_H
#define CONTEXT_TRACK_H


#include "Engine/Visual.h"
#include "Engine/Reason.h"
#include "Engine/Sense.h"
#include "Engine/Resource/Graphic.h"
#include "Engine/Synaptic/Misc.h"
#include <vector>
#include <string>

namespace Context {

// Controls track loading and blitting
class Track : public Engine::Visual, public Engine::Reason, public Engine::Sense {
	private:
		Engine::Resource::Graphic trackGfx; 

	protected:
		Misc::Vector2d size; 

	private:
		std::vector< std::vector<bool> > trackMap; 

	public:
		 Track(std::string trackName); 
		virtual  ~Track(); 
		inline virtual const Misc::Vector2d & readSize(); 
		virtual Engine::Resource::GraphicList display(); // Asks for generation of a graphical model to be displayed
		virtual void pulse(int delta); 
		inline virtual void exit(); 
};
inline const Misc::Vector2d & Track::readSize() {
	return size;
}

inline void Track::exit() {
}


} // namespace Context
#endif
